package lk.icta.common.dao;

import lk.icta.common.entity.Document;
import lk.icta.common.entity.DocumentCategory;
import lk.icta.core.entity.ModuleType;
import lk.icta.user.entity.User;

import java.util.List;

/**
 * @author Mahesha Kalpanie
 */
public interface DocumentManagementDao {

    public void addDocument(User user, Document document);

    public void updateDocument(User user, Document document);

    public List<Document> getDocumentsByModuleAndModuleId(User user, ModuleType module, long moduleId);

    public Document getDocumentById(User user, long id);

    public void deleteDocumentById(User user, long id);

    public List<DocumentCategory> getDocumentCategoryList(User user);

    public List<DocumentCategory> getDocumentCategoryListByModuleId(User user, ModuleType moduleType);
}
